LR = (à) long retard - translation to ρωσικά
Diclib.com
Διαδικτυακό λεξικό

LR = (à) long retard - translation to ρωσικά

LR parser; LR; LR(1)
  • LR Parser

LR = (à) long retard      
с большой задержкой [замедлением]
апостериори         
ЗНАНИЕ, ПОЛУЧЕННОЕ ИЗ ОПЫТА
A posteriori; Апостериорное знание; Апостереори
книжн.
à posteriori
а         
СТРАНИЦА ЗНАЧЕНИЙ
А (река); А; А (значения); A (значения)
I союз
1) ( противительный ) et; mais ( после отрицания )
я остаюсь в Москве, а вы в Новгороде - je reste à Moscou et vous à Novgorod
я приду вас навестить не завтра, а послезавтра - je viendrai vous voir non pas demain, mais après-demain
см.: а не...
2) ( после предложений с уступительными союзами пропускается )
хотя мне и очень весело, а надо уходить - bien que je m'amuse beaucoup, il faut que je parte
3) ( после предложений, имеющих уступительный смысл ) mais
прошло десять лет с тех пор, а я все помню, как будто это было вчера - dix ans sont passés, mais je me rappelle tout, comme si c'était hier
4) ( в смысле "между тем" в начале предложения ) or
а вам всем известно, что... - or, vous savez tous que...
5) ( присоединительный ) puis
он написал письмо, а затем... - il a écrit une lettre (et) puis...
см.: а потому, а следовательно
6) ( после вопроса в начале предложения ) пропускается
что ты делаешь? - А я смотрю на улицу - que fais-tu? - Je regarde dans la rue
см.: а не то
см.: а то
а именно - à savoir
II вопр. частица
plaît-il?, vous dites?, comment?, hein?; quoi? ( fam )
III межд.
1) ( удивление ) ha ( придых. )!
2) ( решимость )
а, была не была! - eh bien, risquons le coup!
3) ( боль, ужас ) oh!
4) ( беспечность ) bah!
а, ничего! - bah! qu'est-ce que ça fait?

Ορισμός

LR
см. Лепроматозная реакция.

Βικιπαίδεια

LR-анализатор

LR-анализатор (англ. LR parser) — синтаксический анализатор для исходных кодов программ, написанных на некотором языке программирования, который читает входной поток слева (Left) направо и производит наиболее правую (Right) продукцию контекстно-свободной грамматики. Используется также термин LR(k)-анализатор, где k выражает количество непрочитанных символов предпросмотра во входном потоке, на основании которых принимаются решения при анализе. Обычно k равно 1 и часто опускается.

Синтаксис многих языков программирования может быть определён грамматикой, которая является LR(1) или близкой к этому, и по этой причине LR-анализаторы часто используются компиляторами для выполнения синтаксического анализа исходных кодов.

Обычно на анализатор ссылаются в связи с именем того языка, исходный код которого он разбирает, например, «C++ анализатор» разбирает исходные коды языка C++.

LR-анализатор может быть создан из контекстно-свободной грамматики программой, называемой генератор синтаксических анализаторов, или же написан вручную программистом. Контекстно-свободная грамматика классифицируется как LR(k), если существует LR(k)-анализатор для неё, как определено генератором анализаторов.

Говорится, что LR-анализатор выполняет разбор снизу вверх, потому что он пытается вывести продукцию верхнего уровня грамматики, строя её из листьев.

Детерминированный контекстно-свободный язык — это язык, для которого существует какая-либо LR(k) грамматика. Каждая LR(k) грамматика может быть автоматически преобразована в грамматику LR(1) для того же языка, в то время как LR(0) грамматики для некоторых языков может не существовать. LR(0)-языки являются собственным подмножеством детерминированных.

LR-анализатор основан на алгоритме, приводимом в действие таблицей анализа, структурой данных, которая содержит синтаксис анализируемого языка. Таким образом, термин LR-анализатор на самом деле относится к классу анализаторов, которые могут разобрать почти любой язык программирования, для которого предоставлена таблица анализа. Таблица анализа создаётся генератором синтаксических анализаторов.

LR-анализ может быть обобщён как произвольный анализ контекстно-свободного языка без потери производительности, даже для LR(k) грамматик. Это происходит благодаря тому, что большинство языков программирования могут быть выражены LR(k) грамматикой, где k — малая константа (обычно 1). Заметьте, что разбор не-LR(k) грамматик на порядок медленнее (кубический вместо квадратичного в отношении размера входного потока).

LR-анализ может применяться к большему количеству языков, чем LL-анализ, а также лучше в части сообщения об ошибках, то есть он определяет синтаксические ошибки там, где вход не соответствует грамматике, как можно раньше. В отличие от этого, LL(k) (или, что хуже, даже LL(*)) анализаторы могут задерживать определение ошибки до другой ветки грамматики из-за отката, часто затрудняя определение места ошибки в местах общих длинных префиксов.

LR-анализаторы сложно создавать вручную и обычно они создаются генератором синтаксических анализаторов или компилятором компиляторов. В зависимости от того, как была создана таблица анализа, эти анализаторы могут быть названы простыми LR-анализаторами (SLR), LR-анализаторами с предпросмотром (LALR) или каноническими LR-анализаторами. LALR-анализатор имеют значительно большую распознавательную способность, чем SLR-анализаторы. При этом таблицы для SLR-анализа имеют такой же объём, что и для LALR-анализа, поэтому SLR-анализ уже не используется. Канонические LR-анализаторы имеют незначительно большую распознавающую способность, чем LALR-анализаторы, однако требуют намного больше памяти для таблиц, поэтому их используют очень редко.